<?php

/**
 * 
 * Classe responsável por fazer a conexão com o banco de dados e informar
 * a data. Casa haja falha na tentativa de conexão com o banco,também
 * informa o erro.
 * @name db.php
 * @version 1.0
 * @access public
 * @package backend
 * */
Class DB {

    private function __contruct() {
        
    }

    /**
     * 
     * Método responsável por fazer a conexão com o banco de dados
     * @name conec
     * @var unknown_type $dbh
     * @return conexão estabelecida
     */
    public function conec() {
        try {
            //$dbh = new PDO("mysql:host=mysql.brandaysbrasil.com.br;dbname=brandaysbrasil;", "brandaysbrasil", "admin");
            $dbh = new PDO("mysql:host=mysql.brandaysbrasil.com.br;dbname=brandaysbrasil;", "brandaysbrasil", "admin");
            $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch (PDOException $e) {
            self::DBerror($e, "");
        }
        return $dbh;
    }

    /**
     * 
     * Método responsável por informar qual foi o erro na 
     * tentativa de conexão ao banco
     * @param unknown_type $erro
     * @param unknown_type $sql
     * @return void
     */
    public function DBerror($erro, $sql) {
        if (empty($sql)) {
            echo 'Connection failed: ' . $erro->getMessage();
        } else {
            if ($_SESSION["session_perfil"] === "Suporte") {
                echo 'PDO Exception Caught.';
                echo 'Error with the database: <br />';
                echo '<br>SQL Query: ', $sql;
                echo '<br>Error: ' . $erro->getMessage();
                echo '<br>Code: ' . $erro->getCode();
                echo '<br>File: ' . $erro->getFile();
                echo '<br>Line: ' . $erro->getLine();
            } else {
                echo "<br>Erro no acesso ao Banco de Dados";
            }
        }
    }

    /**
     * 
     * Método responsável por mostra a data atual.
     * @param unknown_type $data
     * @return $data_exib
     */
    public function dataExib($data) {
        $data_exib = substr($data, 8, 2) . "/" . substr($data, 5, 2) . "/" . substr($data, 0, 4);
        return($data_exib);
    }

    /**
     * 
     * Método responsável por verificar se o número
     * veio com , e trocar por . caso seja necessário 
     * @param decimal $numero
     */
    public function verificaVirgula($numero) {
        $var = $numero;
        $var = str_replace(',', '.', $numero);
        return $var;
    }

    /**
     * 
     * Método responsável por verificar se o número
     * veio com . e trocar por , caso seja necessário 
     * @param decimal $numero
     */
    public function verificaPonto($numero) {
        $numero = number_format($numero, 2, '.', ',');
        return $numero;
    }

    /**
     * 
     * Método responsável por pegar a data no banco de dados
     * @param unknown_type $data
     * @return $data_db
     */
    public function dataDB($data) {
        $data_db = substr($data, 6, 4) . "-" . substr($data, 3, 2) . "/" . substr($data, 0, 2);
        return($data_db);
    }

}
